// #ifndef VUE3
import Vue from 'vue'
import App from './App'

// 1. 导入 store 的实例对象  ； 全局可用
import store from './store/store.js'

// 小程序项目中不支持 axios，而且原生的 wx.request() API 功能较为简单，不支持拦截器等全局定制的功能。
// 因此，建议在 uni-app 项目中使用 @escook/request-miniprogram 第三方包发网络数据请求。
// 导入网络请求的包，即为导入$http对象
import {
  $http
} from '@escook/request-miniprogram'
// 根路径必须配置，这里是各种请求的根路径
// 请求的根路径(已经做过替换)，原地址：http://www.uinav.com  新地址  https://api-hmugo-web.itheima.net/
$http.baseUrl = 'http://www.uinav.com'


// 在uni-app项目中，将  $http   挂载到  uni  顶级对象之上，方便全局使用
uni.$http = $http;

// 请求拦截器 请求开始之前做一些事情
$http.beforeRequest = function(options) {
  uni.showLoading({
    title: '数据加载中...',
  })
}

// 响应拦截器 请求完成之后做一些事情
$http.afterRequest = function() {
  uni.hideLoading()
}

// 封装的展示消息提示的方法，自定义方法，因为用的地方很多，所以呢，直接封装起来，全局可用
// 给  uni 对象挂载自定义的$showMsg()方法
// 可以写默认参数
uni.$showMsg = function(title = '数据加载失败！', duration = 1500) {
  uni.showToast({
    // 提示的内容，长度与 icon 取值有关。
    title,
    // 提示的延迟时间，单位毫秒，默认：1500
    duration,
    // 图标，默认是不需要图标的
    icon: 'none',
  })
}

Vue.config.productionTip = false

App.mpType = 'app'

const app = new Vue({
  ...App,
  store
})
app.$mount()
// #endif

// #ifdef VUE3
import {
  createSSRApp
} from 'vue'
import App from './App.vue'
export function createApp() {
  const app = createSSRApp(App)
  return {
    app
  }
}
// #endif